//
//  WBLottieAnimationViewProtocol.h
//  JMWManualPackageLib
//
//  Created by WENBO on 2020/4/14.
//  Copyright © 2020 wenbo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@class WBLottieAnimationView;

NS_ASSUME_NONNULL_BEGIN

/// 动画视图大小
extern CGSize const WBLottieAnimationSize;
/// 默认loading动画
extern NSString *const WBDefaultLottieAnimationFileName;

@protocol WBLottieAnimationViewProtocol <NSObject>

/// Key window lottie动画
+ (WBLottieAnimationView *)wb_showAnimationView;


/// 视图显示lottie动画
/// @param view 要显示的View
+ (WBLottieAnimationView *)wb_showAnimationViewToView:(nullable UIView *)view;


/// 视图显示lottie动画
/// @param view 要显示的View
/// @param offsetY 动画视图偏移量
/// @param topPadding 局顶部距离 默认：0
+ (WBLottieAnimationView *)wb_showAnimationViewToView:(nullable UIView *)view
                                              offsetY:(CGFloat)offsetY
                                           topPadding:(CGFloat)topPadding;

/// 视图显示lottie动画
/// @param view 要显示的View
/// @param fileName 本地lottie动画文件
/// @param offsetY 动画视图偏移量
/// @param topPadding 局顶部距离 默认：0
+ (WBLottieAnimationView *)wb_showAnimationViewToView:(UIView *)view
                                             fileName:(nullable NSString *)fileName
                                              offsetY:(CGFloat)offsetY
                                           topPadding:(CGFloat)topPadding;

/// 视图显示lottie动画
/// @param view 要显示的View
/// @param url 网络url地址
/// @param offsetY 动画视图偏移量
/// @param topPadding 局顶部距离 默认：0
+ (WBLottieAnimationView *)wb_showAnimationViewToView:(UIView *)view
                                                  url:(nullable NSString *)url
                                              offsetY:(CGFloat)offsetY
                                           topPadding:(CGFloat)topPadding;

/// 视图显示lottie动画
/// @param view 要显示的View
/// @param fileName 本地lottie动画文件
/// @param url 网络url地址
/// @param offsetY 动画视图偏移量
/// @param topPadding 局顶部距离 默认：0
+ (WBLottieAnimationView *)wb_showAnimationViewToView:(nullable UIView *)view
                                             fileName:(nullable NSString *)fileName
                                                  url:(nullable NSString *)url
                                              offsetY:(CGFloat)offsetY
                                           topPadding:(CGFloat)topPadding;

/// window移除动画
+ (void)wb_removeAnimationView;

/// 从视图移除动画
/// @param view 要移除的视图
+ (void)wb_removeAnimationForView:(nullable UIView *)view;

@end

NS_ASSUME_NONNULL_END
